package com.sihan.framework.etm.common.util;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.sihan.framework.etm.common.AppConfiguration;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@Component
public class ImgUtils {
	
	@Autowired
	private AppConfiguration appConfig;

	public static String getImgBase64Str(String imgFile) {
        // 将图片文件转化为字节数组字符串，并对其进行Base64编码处理
        byte[] data = null;
        // 读取图片字节数组
        try(InputStream in = new FileInputStream(imgFile)) {
            data = new byte[in.available()];
            in.read(data);
        } catch (IOException e) {
        	log.error("读取图片异常",e);
            return null;
        }
        return new String(Base64.encodeBase64(data));
    }
	
	public List<String> formatImgPath(List<String> imgs) {
		List<String> result = new ArrayList<String>();
		if(null != imgs && !imgs.isEmpty()) {
			imgs.stream().forEach(img->{
				result.add(appConfig.getPicFormatPath()+img);
			});
		}
		
		return result;
	}
	
	/**
	 * 
	 * @description  格式化图片访问路径
	 * @param img
	 * @return
	 * @auther 韩兵
	 * @Date 2020年7月23日
	 * @return String
	 */
	public String formatImgPath(String img) {
		if(!StringUtils.isBlank(img)) {
			return appConfig.getPicFormatPath()+img;
		}
		
		return null;
	}
}
